package cn.lcsjsxy.yxc.exercise.java050519;
/*1.定义一个int型的二维数组，并遍历。
定义两个数组，一个是学生姓名，一个是学生成绩。通过遍历数组输出:2
本组学员的平均分，
低于平均分的学员人数，二
哪些学员低于平均分，
-最高分和最低分分别是谁。
3.随机产生10个[1,100]之间的偶数存储到数组中，并按照从小到大排序输出。*/
public class ArrayExerciseTwo {
    public static final double AVERAGE=60;

    //打印
    public static void print(String[] name, double[] score){
        if (name ==null || score==null){
            System.out.println("姓名或成绩数据为空！");
            return;
        }
        if (name.length!=score.length){
            System.out.println("数据错误，请检查姓名与成绩是否一一对应！");
            return;
        }
        for (int i = 0; i< name.length; i++){
            System.out.println("姓名："+name[i]+"\t成绩："+score[i]);
        }
    }

    //低于平均分的学院人数
    public static int under(double[] score){
        if (score==null){
            System.out.println("分数数据为空！");
            return 0;
        }
        int number=0;
        for (int i=0;i<score.length;i++)
            if (score[i]<AVERAGE)
                number++;
        return number;
    }


    //哪些学员低于平均分
    public static void underStudents(String[] name,double[] score){
        if (score==null || name==null){
            System.out.println("数据为空或数据数量不对等");
            return;
        }
        if (name.length!=score.length){
            System.out.println("数据错误，请检查姓名与成绩是否一一对应！");
            return;
        }
        System.out.println("成绩不及格学生有：");
        for (int i=0;i<score.length;i++)
            if (score[i]<AVERAGE)
                System.out.println(name[i]+"\t"+score[i]);
    }

    //最高分与最低分
    public static String maxAndMin(String[] name, double[] score) {
        if (score == null || name == null) {
            System.out.println("数据为空或数据数量不对等");
            return null;
        }
        if (name.length != score.length) {
            System.out.println("数据错误，请检查姓名与成绩是否一一对应！");
            return null;
        }

        int maxIndex = 0;
        int minIndex = 0;
        for (int i = 1; i < score.length; i++) {
            if (score[i] > score[maxIndex]) {
                maxIndex = i;
            }
            if (score[i] < score[minIndex]) {
                minIndex = i;
            }
        }
        return "最低：" + name[minIndex] + "\t" + "最高：" + name[maxIndex];
    }
}
